﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Stanford.Data;

namespace Stanford.Demo
{
    public partial class _Default : System.Web.UI.Page
    {
        public Student Student { get; set; }
        StanfordDatabaseEntities _db = new StanfordDatabaseEntities();
        readonly EFUnitOfWork _nitOfWork = new EFUnitOfWork();
        StudentRepository _objStudentRepository;

        public List<Student> LstStudent = new List<Student>();
        protected void Page_Load(object sender, EventArgs e)
        {
            _objStudentRepository = new StudentRepository(new EFRepository<Student>(), _nitOfWork);
            GetInfo();
            //MangMotChieu();
            //MangNhieuChieu();
        }
        /// <summary>
        /// Lấy thông tin đối tượng
        /// </summary>
        public void GetInfo()
        {
            LstStudent = _objStudentRepository.All().ToList();
            _db.Students.AddObject(new Student() { St_Name = "Nguyễn Văn E" });
        }

        /// <summary>
        /// Khai báo mảng 1 chiều
        /// </summary>
        public void MangMotChieu()
        {
            int j = 0;
            //Khai báo mảng
            //<Kiểu dữ liệu>[] TenMang = new <Kiểu dữ liệu>[Số phần tử của mảng];

            int[] arrInt = new int[5];
            arrInt[0] = 0;
            arrInt[1] = 1;
            arrInt[2] = 2;
            arrInt[3] = 3;

            var intArr = new int[] { 12, 52, 6, 24, 64 };
            var strArr = new string[] { "1", "2", "3", "4" };

            var arrStudent = new Student[3];
            arrStudent[0] = new Student() { St_Name = "Nguyễn Văn A", St_Age = 22 };
            //cấp giá trị cho Student
            //ví dụ arrStudent[0].name="Nguyen Van A";
            arrStudent[1] = new Student() { St_Name = "Nguyễn Văn B", St_Age = 23 };

            //In mảng kiểu int
            ViewMang(intArr);
        }
        public void MangNhieuChieu()
        {
            string[][] mang2Chieu = new string[10][];
            mang2Chieu[0] = new string[] { "a" };
            mang2Chieu[1] = new string[] { "a1", "b1"};
            mang2Chieu[2] = new string[] { "a2", "b2", "c2"};
            mang2Chieu[3] = new string[] { "a3", "b3", "c3", "d3" };
            int soluong = mang2Chieu.Length;
            //<Kiểu dữ liệu>[row,col] = new <Kiểu dữ liệu>[số hàng,số cột]{{các phần tử =col},{}
            int[,] mArray = new int[2, 4] { { 2, 12, 5, 2 }, { 2, 3, 5, 2 } };
            int[,] mArray2 = new int[2, 4] { { 2, 12, 5, 2 }, { 2, 3, 5, 2 } };
            lbResultMang2Chieu.Text += "Các phần tử cửa mảng 2 chiều <br/>";
            for (int row = 0; row < 2; row++)
            {
                for (int col = 0; col < 4; col++)
                {
                    lbResultMang2Chieu.Text += (mArray[row, col] + "&nbsp;&nbsp;&nbsp;&nbsp;");
                }
                lbResultMang2Chieu.Text += "<br/>";
            }
        }
        /// <summary>
        /// In thông tin mảng
        /// </summary>
        /// <param name="arr"></param>
        public void ViewMang(int[] arr)
        {
            lbResult.Text = "Các phần tử của mảng một chiều là:";
            for (int i = 0; i < arr.Length; i++)
            {
                lbResult.Text += arr[i].ToString() + ",&nbsp;";
            }
            lbResult.Text += "<br/>";
        }

    }
}
